package com.baijiayun.sdk.model;

import com.baijiayun.sdk.annotation.NoDisposalEmpty;

/**
 * 创建房间请求
 */
public class CreateRoomRequest extends BaseRequest {
    /**
     * 直播课标题
     */
    private String title;
    /**
     * 开课时间, unix时间戳
     */
    private Long startTime;
    /**
     * 下课时间, unix时间戳
     */
    private Long endTime;
    /**
     * 1:一对一课 2:普通大班课 3:小班课普通版 4:小班课专业版（需开通相关权限才可以创建） 默认为普通大班课
     */
    private int type;
    /**
     * 房间最大人数, 不传或传0表示不限制。注：一对一是1人，互动小班课人数不能超过10人，普通大班课可以不设置人数上限
     */
    private int maxUsers;
    /**
     * 学生可提前进入的时间，单位为秒，默认为30分钟
     */
    private int preEnterTime;
    /**
     * 是否是长期房间，0:普通房间 1:长期房间 默认为普通房间（注：需要给账号开通长期房间权限才可以创建长期房间）
     */
    private int isLongTerm;
    /**
     * 是否是分组直播，0:常规直播 1:分组直播 默认为常规直播（注：需要给账号开通分组直播权限才可以创建分组直播，必须同时指定参数type为2）2:可切换大小班的分组直播（注：需要权限，参数type须为2）
     */
    @NoDisposalEmpty
    private int isGroupLive;
    /**
     * 可选值：doubleCamera(双摄像头)、classic(经典模板)、triple(三分屏)、oneone(单视频模板)、oneoneNew(单视频模板2)、liveWall(视频墙)
     */
    private String templateName;
    /**
     * 学生发言时是否自动开启摄像头 1:开启 2:不开启 默认会开启
     */
    private int speakCameraTurnon;
    /**
     * 老师是否启用设备检测 1:启用 2:不启用 默认不启用
     */
    private int TeacherNeedDetectDevice;
    /**
     * 学生是否启用设备检测 1:启用 2:不启用 默认不启用
     */
    private int StudentNeedDetectDevice;
    /**
     * 指定屏蔽的端，可选值（web:pc浏览器, h5:手机浏览器）多种以英文逗号分隔
     */
    private String forbiddenEndTypes;
    /**
     * 指定PC端是否以视频为主 1:以视频为主 2:以PPT为主 （默认是以ppt为主，该选项只针对三分屏有效）
     */
    private int isVideoMain;
    /**
     * 指定手机H5页面是否以视频为主 1:以视频为主 2:以PPT为主 （默认是以视频为主）
     */
    private int mIsVideoMain;
    /**
     * 是否是伪直播，0:否 1:是（注：需要给账号开通伪直播权限才可以创建伪直播，选择伪直播时，必须要选择mock_video_id或mock_room_id和mock_session_id）
     */
    private int isMockLive;
    /**
     * 是否是推流直播，0:常规直播 1:推流直播 默认是常规直播（注：需要给账号开通推流直播的权限）
     */
    private int isPushLive;
    /**
     * 伪直播关联的回放教室号
     */
    private int mockRoomId;
    /**
     * 伪直播关联的回放教室session_id（针对长期房间）
     */
    private int mockSessionId;
    /**
     * 伪直播关联的点播视频ID
     */
    private int mockVideoId;

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Long getStartTime() {
        return startTime;
    }

    public void setStartTime(Long startTime) {
        this.startTime = startTime;
    }

    public Long getEndTime() {
        return endTime;
    }

    public void setEndTime(Long endTime) {
        this.endTime = endTime;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public int getMaxUsers() {
        return maxUsers;
    }

    public void setMaxUsers(int maxUsers) {
        this.maxUsers = maxUsers;
    }

    public int getPreEnterTime() {
        return preEnterTime;
    }

    public void setPreEnterTime(int preEnterTime) {
        this.preEnterTime = preEnterTime;
    }

    public int getIsLongTerm() {
        return isLongTerm;
    }

    public void setIsLongTerm(int isLongTerm) {
        this.isLongTerm = isLongTerm;
    }

    public int getIsGroupLive() {
        return isGroupLive;
    }

    public void setIsGroupLive(int isGroupLive) {
        this.isGroupLive = isGroupLive;
    }

    public String getTemplateName() {
        return templateName;
    }

    public void setTemplateName(String templateName) {
        this.templateName = templateName;
    }

    public int getSpeakCameraTurnon() {
        return speakCameraTurnon;
    }

    public void setSpeakCameraTurnon(int speakCameraTurnon) {
        this.speakCameraTurnon = speakCameraTurnon;
    }

    public int getTeacherNeedDetectDevice() {
        return TeacherNeedDetectDevice;
    }

    public void setTeacherNeedDetectDevice(int teacherNeedDetectDevice) {
        TeacherNeedDetectDevice = teacherNeedDetectDevice;
    }

    public int getStudentNeedDetectDevice() {
        return StudentNeedDetectDevice;
    }

    public void setStudentNeedDetectDevice(int studentNeedDetectDevice) {
        StudentNeedDetectDevice = studentNeedDetectDevice;
    }

    public String getForbiddenEndTypes() {
        return forbiddenEndTypes;
    }

    public void setForbiddenEndTypes(String forbiddenEndTypes) {
        this.forbiddenEndTypes = forbiddenEndTypes;
    }

    public int getIsVideoMain() {
        return isVideoMain;
    }

    public void setIsVideoMain(int isVideoMain) {
        this.isVideoMain = isVideoMain;
    }

    public int getmIsVideoMain() {
        return mIsVideoMain;
    }

    public void setmIsVideoMain(int mIsVideoMain) {
        this.mIsVideoMain = mIsVideoMain;
    }

    public int getIsMockLive() {
        return isMockLive;
    }

    public void setIsMockLive(int isMockLive) {
        this.isMockLive = isMockLive;
    }

    public int getIsPushLive() {
        return isPushLive;
    }

    public void setIsPushLive(int isPushLive) {
        this.isPushLive = isPushLive;
    }

    public int getMockRoomId() {
        return mockRoomId;
    }

    public void setMockRoomId(int mockRoomId) {
        this.mockRoomId = mockRoomId;
    }

    public int getMockSessionId() {
        return mockSessionId;
    }

    public void setMockSessionId(int mockSessionId) {
        this.mockSessionId = mockSessionId;
    }

    public int getMockVideoId() {
        return mockVideoId;
    }

    public void setMockVideoId(int mockVideoId) {
        this.mockVideoId = mockVideoId;
    }
}
